/* 
 * File:   intro.h
 * Author: cow
 *
 * Created on April 12, 2011, 3:07 PM
 */

#ifndef _INTRO_H
#define	_INTRO_H

//standard includes--------------------
#include <gtkmm/builder.h>
#include <gtkmm/box.h>
#include <gtkmm/alignment.h>
#include <gtkmm/button.h>
#include <gtkmm/label.h>
#include <glibmm/ustring.h>
#include "map.h"
//defines------------------------------
namespace introScreens{
#define iscrDesig "IntroBox"
#define ngscrDesig "NewGameBox"
#define lgscrDesig "LoadGameBox"
}

//prototypes---------------------------
//extern Glib::RefPtr<Gtk::Builder> builder;
namespace introScreens{
class introScr;
class newGameScr;
class loadGameScr;
}

//nonstandard includes-----------------
#include "../Engine/stalemate.h"
#include "nameMenu.h"

//definitions--------------------------
namespace introScreens{
//intro scr++++++++
class introScr : public Gtk::VBox{
public:
    //constructors------
    static introScr* gsIntroScr();
    introScr(BaseObjectType* obj, const Glib::RefPtr<Gtk::Builder>& window);
    ~introScr();
protected:
    //handlers----------
    void ngButtonHandler();
    void lgButtonHandler();
private:
    static introScr* screen;
};
//newgamescr+++++++
class newGameScr : public Gtk::VBox{
public:
    //constructors------
    static newGameScr* gsNewGameScr();
    newGameScr(BaseObjectType* obj, const Glib::RefPtr<Gtk::Builder>& window);
    ~newGameScr();
	//entersig handler
	void esig_handler(string str);
protected:
    //handlers----------
   // bool on_key_press_event(GdkEventKey* key);
    void ngButtonHandler();
    void bkButtonHandler();
    void loadHandler(string file);
private:
    static newGameScr* screen;
    nameMenu* nmu;
};
//loadgamescr++++++
class loadGameScr : public Gtk::VBox{
public:
    //constructors------
    static loadGameScr* gsLoadGameScr();
    loadGameScr(BaseObjectType* obj, const Glib::RefPtr<Gtk::Builder>& window);
    ~loadGameScr();
	//entersig handler
	void esig_handler(string str);
protected:
    //handlers----------
    bool on_key_press_event(GdkEventKey* key);
    void lgButtonHandler();
    void bkButtonHandler();
    void loadHandler(string file);
private:
    static loadGameScr* screen;
    nameMenu* nmu;
};
}

#endif	/* _INTRO_H */

